package my.dao;

import java.util.Date;

/**
 * 数据记录对象，封装表中的一条数据记录
 * @author 夏冬琦
 * @version 3.0
 * 
 *
 */
public interface Rec {
	
	/**
	 * 以Object对象形式获取指定字段标签的值，如果值为 SQL NULL，则返回值为 null 。
	 * @param fieldLabel 使用 SQL AS 子句指定的字段标签。如果未指定 SQL AS 子句，则标签是字段名称
	 * @return 以Object对象形式返回指定字段标签的值，如果值为 SQL NULL，则返回值为 null 。
	 * @throws DaoException
	 */
	public Object get(String fieldLabel)throws DaoException;
	
	/**
	 * 以int类型数据获取指定字段标签的值，如果值为 SQL NULL，则返回值为 0 。
	 * @param fieldLabel 使用 SQL AS 子句指定的字段标签。如果未指定 SQL AS 子句，则标签是字段名称
	 * @return 以int类型数据返回指定字段标签的值，如果值为 SQL NULL，则返回值为 0 。
	 * @throws DaoException
	 */
	public int getInt(String fieldLabel)throws DaoException;
	
	/**
	 * 以long类型数据获取指定字段标签的值，如果值为 SQL NULL，则返回值为 0 。
	 * @param fieldLabel 使用 SQL AS 子句指定的字段标签。如果未指定 SQL AS 子句，则标签是字段名称
	 * @return 以long类型数据返回指定字段标签的值，如果值为 SQL NULL，则返回值为 0 。
	 * @throws DaoException
	 */
	public long getLong(String fieldLabel)throws DaoException;
	
	/**
	 * 以float类型数据获取指定字段标签的值，如果值为 SQL NULL，则返回值为 0.0F 。
	 * @param fieldLabel 使用 SQL AS 子句指定的字段标签。如果未指定 SQL AS 子句，则标签是字段名称
	 * @return 以float类型数据返回指定字段标签的值，如果值为 SQL NULL，则返回值为 0.0F 。
	 * @throws DaoException
	 */
	public float getFloat(String fieldLabel)throws DaoException;
	
	/**
	 * 以double类型数据获取指定字段标签的值，如果值为 SQL NULL，则返回值为 0.0 。
	 * @param fieldLabel 使用 SQL AS 子句指定的字段标签。如果未指定 SQL AS 子句，则标签是字段名称
	 * @return 以double类型数据返回指定字段标签的值，如果值为 SQL NULL，则返回值为 0.0 。
	 * @throws DaoException
	 */
	public double getDouble(String fieldLabel)throws DaoException;
	
	/**
	 * 以boolean类型数据获取指定字段标签的值，如果值为 SQL NULL，则返回值为 false。
	 * @param fieldLabel 使用 SQL AS 子句指定的字段标签。如果未指定 SQL AS 子句，则标签是字段名称
	 * @return 以boolean类型数据返回指定字段标签的值，如果值为 SQL NULL，则返回值为 false。
	 * @throws DaoException
	 */
	public boolean getBoolean(String fieldLabel)throws DaoException;
	
	/**
	 * 以String对象形式获取指定字段标签的值，如果值为 SQL NULL，则返回值为 null。
	 * @param fieldLabel 使用 SQL AS 子句指定的字段标签。如果未指定 SQL AS 子句，则标签是字段名称
	 * @return 以String对象形式返回指定字段标签的值，如果值为 SQL NULL，则返回值为 null。
	 * @throws DaoException
	 */
	public String getString(String fieldLabel)throws DaoException;
	
	/**
	 * 以java.util.Date对象形式获取指定字段标签的值，如果值为 SQL NULL，则返回值为 null。
	 * @param fieldLabel 使用 SQL AS 子句指定的字段标签。如果未指定 SQL AS 子句，则标签是字段名称
	 * @return 以java.util.Date对象形式返回指定字段标签的值，如果值为 SQL NULL，则返回值为 null。
	 * @throws DaoException
	 */
	public java.util.Date getDate(String fieldLabel)throws DaoException;
	
	/**
	 * 以java.util.Date对象形式获取指定字段标签的值，如果值为 SQL NULL，则返回值为 null。
	 * @param fieldLabel 使用 SQL AS 子句指定的字段标签。如果未指定 SQL AS 子句，则标签是字段名称
	 * @param pattern 描述日期和时间格式的模式
	 * @return 以java.util.Date对象形式返回指定字段标签的值，如果值为 SQL NULL，则返回值为 null。
	 * @throws DaoException
	 */
	public Date getDate(String fieldLabel,String pattern) throws DaoException;
	
	

}
